home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / art&graf.ix / art-5625 / escpemu / emudiskc.txt < prev    next >
Text File  |  1998-10-23  |  16KB  |  322 lines

  1. *******************************************************************
  2.                   GEMVIEW Lademodul 'ESC/P Emulator'
  3.                    von Christian 'Chrisker' Krüger
  4. *******************************************************************
  5.  
  6. Übersicht:
  7. ----------
  8.  
  9. 1. Allgemeines 'Bla Bla' und Status (unbedingt lesen !!!
  10.                      Was ist Featureware ?)
  11. 2. Wozu ein 'ESC/P Emulator' ?
  12.  
  13. 3. Bedienung und unterstützte Kommandos
  14.  
  15. 4. History
  16.  
  17. 5. Featureware Wunschliste und Kontaktadresse
  18.  
  19. -------------------------------------------------------------------
  20.  
  21.                   1. Allgemeines 'Bla Bla' und Status
  22.                   -----------------------------------
  23.  
  24. (sorry für evt. Tippfähler - es ist gerade 3.45 Uhr in der Früh und ich
  25.  hab keine Lust irgendetwas zu korrigieren. (Nur ein schneller Hack -
  26.  darum nachfolgend auch alles klein geschrieben - ich habe wichtigeres
  27.  zu tun als die 'shift'-taste zu betätigen... (sorry - no time).
  28.  wer lust hat sich diesem text 'anzunehmen', (korrektur, formatierung,
  29.  übersetzung etc.) möge das bitte tun und mir ein exemplar zukommen/
  30.  absegnen lassen) 
  31.  
  32. --BLA BLA: 
  33.  
  34. Das programm wurde mit großer sorgfalt entwickelt. für vorhandene fehler
  35. im programm oder defekte geräte die durch verwendung dieses programms
  36. entstehen übernehme ich aber keine haftung !
  37. wer also seine 'Medusa' mit 20"-monitor und angeschlossendem 1200DPI
  38. farblaser in die luft jagt ist selber schuld (wäre auch zu bezeifeln,
  39. ob das mit dem modul überhaupt möglich ist... ;-) ).
  40.  
  41. --STATUS (wer noch nicht 'featureware' kennt bitte lesen !!!):
  42.  
  43. Dieses lade-modul hat 'featureware' status. Nun, was ist 'feature-
  44. ware' ?
  45. Grundlegend ist zu sagen das dieses modul FREEWARE ist !
  46. Das heißt es kann (und soll) kostenlos weitergegeben und verbreitet
  47. werden (aber nicht über PD-versender oder ähnliches - ich möchte
  48. dieses modul nicht ohne meine genehmigung auf irgendeiner PD-liste
  49. oder CD-ROM wiederentdecken !).
  50.  
  51. Um den status dieses moduls aber noch etwas 'interessanter' zu machen,
  52. habe ich mir ein neues system einfallen lassen (eben featureware).
  53. Dieses lademodul genügt voll und ganz _meinen_ ansprüchen. Das heißt
  54. aber nicht, daß die erwartungen oder ansprüche anderer benutzer mit
  55. diesem modul befriedigt werden. Ich könnte jetzt einfach schreiben das
  56. dies hier 'nervt mich überhaupt nicht'-ware ist (grüße an Mr. McLoud ;-) ),
  57. habe mir aber ein anderes konzept einfallen lassen (ja - ganz neu) welches
  58. dem programmierer (also mir) und dem rest der menschheit zu gute kommt
  59. (könnte auch user-fairware heißen... ).
  60.  
  61. Aaaaallllsooo:
  62. am ende dieser 'dokumentation'  befindet sich eine liste von möglichen
  63. programmerweiterungen die noch nicht vorgenommen wurden. diese kann ich
  64. aber gerne gegen entgeld vornehmen(folglich: nervt mich nur gegen
  65. bares-ware). dabei handelt es sich förmlich um eine preisliste: welches
  66. feature kostet wieviel geld ? wurde ein feature durch bezahlung im modul
  67. integriert, wird das modul wieder der öffentlichkeit zugänglich gemacht !
  68. (man zahlt also eigentlich nicht nur für sich sondern auch für andere...).
  69. die vorteile liegen auf der hand:
  70. der programmierer arbeitet nicht ganz umsonst und es entsteht ein
  71. komplexeres programm welches wieder von allen genutzt werden kann.
  72. damit kommt ein bezahler in eine aehnliche 'wohltaeter' position wie
  73. der freeware-programmierer. dieser leistet ja auch 'selbstlos' anderen
  74. dienste...
  75. damit noch ein kleiner anreiz für diese 'wohltäter' da ist (abgesehen davon
  76. das die das bezahlte, ins programm integrierte feature dann auf diskette
  77. zugeschickt bekommen), befindet sich dann in der programmbeschreibung
  78. das kapitel: 'Mäzene und edele Spender', in dem sie namentlich (mit der
  79. funktion die sie 'gespendet' haben) erwähnt werden (wer nicht erwähnt
  80. werden will - auch kein problem...).
  81.  
  82. noch eine anmerkung: gehen 'zeitgleich' bis zu drei zahlungen für das
  83. gleiche feature bei mir ein, werden alle spender erwähnt und ich kann mich
  84. über das zusätzliche geld freuen :-) (das muß man mir schon gönnen...).
  85. sind es noch mehr, wird das 'überstehende' geld für ein anderes feature
  86. (auswahl treffe ich) verwendet. 
  87. schaden tut das den bezahlern nicht - sie erhalten die funktion für
  88. die sie bezahlt haben auf jeden fall... (und tun noch ein gutes werk)
  89. natürlich kann man auch im freundeskreis rumgehen und sich als gruppe 
  90. ein feature bestellen - geteilte last ist halbe last... (gibt aber
  91. trotzdem nur _eine_ diskette zurück und man sollte sich einen namen
  92. für die gruppe ausdenken mit der sie in der liste erscheint).
  93. wer mir geld zukommen lassen will ohne sich ein feature zu wünschen -
  94. ok - habe auch da nix gegen.
  95. Ergibt sich ein änderung im programm (bestellte fähigkeiten sind hin-
  96. zugekommen) wird das programm jeden monat 'refreshed' und verbreitet.
  97.  
  98. soviel zum feature-ware konzept - die 'preisliste' folgt am ende des
  99. textes.
  100.  
  101.   
  102.                   2. Wozu ein 'ESC/P Emulator' ?
  103.                   ------------------------------
  104.                   
  105. Zunächst mal was ESC/P überhaupt ist:
  106. soweit ich weiß ist ESC/P ein standart der von EPSON™ ausging. es sind
  107. kommandos zu ansteuerung von (9)-nadeldruckern. diese werden von den
  108. sogenannten 'epson-kompatibelen' nadeldruckern verstanden. 
  109.  
  110. Wozu nun ein lademodul welches diese kommandos interpretiert ???
  111.  
  112. 9-nadeldrucker sind heutzutage nicht mehr ganz zeitgemäß - sie sind
  113. laut, langsam und liefern oft eine unbefriedigende druckqualität.
  114. oft steht man aber vor dem problem (so wie ich ;-) ), daß man programme
  115. hat, die etwas älter sind und z.B. nur das ansteuern von diesen druckern
  116. vorsehen. normalerweise könnte man diese mit einem moderneren drucker nicht
  117. verwenden und müßte auf das programm verzichten. wenn man aber in der lage
  118. ist, die druckerausgabe in eine datei zu lenken ist man schon (zusammen
  119. mit dem ESC/P Emulator) auf der 'gewinnerseite'. (wird die druckumlenkung
  120. in eine datei nicht direkt von programm unterstützt, besteht immernoch
  121. die möglichkeit dieses mit einem der zahlreichen 'utility-programme'
  122. (wie z.B. SPOOL) zu erreichen.)
  123.  
  124. die vorhandene druckdatei wird von dem ESC/P Emulator ausgewertet und es
  125. wird ein Bild erzeugt welches der Druckerausgabe entspricht. Dieses
  126. kann nun beliebig weiterverarbeitet werden. Z.B. kann man das Bild mit
  127. Gemview direkt auf seinem laser-, tintenstrahl-, thermodrucker ausgeben.
  128. Oder man modifiziert die ausgabe mit grafikprogrammen oder bindet das
  129. 'bild' in ein anderes dokument einer textverarbeitung ein etc.......
  130.  
  131. konkret wurde dieses modul für das zusammenspiel mit dem '800XL-DJ' 
  132. entwickelt. dieses progamm ermöglicht einem es, auf den 16/32 bit atari's
  133. die laufwerke und drucker der 8-bit rechner zu simmulieren. so kann z.B.
  134. auch hier die druckausgabe des 800XL in eine datei auf dem ST/TT/Falcon 
  135. etc. umgelenkt werden.
  136. diese kann man nun mit gemview und dem ESC/P Emulator laden.
  137. daher auch die emulation von 'ESC/P'. Diese druckeransteuerung ist in
  138. 99% der XL-programme zu finden. modernere drucker werden so gut wie
  139. gar nicht unterstützt (wenn man viel glück hat: 24-nadler...).
  140. mit hilfe des emulators kann man nun z.B. Print-Shop in zusammenhang mit
  141. seinem tintenstahler weiterverwenden !!!
  142.  
  143. eine weitere (wenn wenn auch wahrscheinlich seltenere anwendung) des
  144. emulators ist, wenn man (als besonderen effekt) die qualität (dieses
  145. schwache, grob gepunktete, graue aussehen) eines 9-nadlers braucht
  146. (ja denn fall hatte ich wirklich mal neulich...). einfach den text
  147. mit dem emulator laden... (ja - der emulator 'druckt' auch draft buch-
  148. staben die ziemlich gut auf lasern etc. 'rüberkommen'). ich habe so einen
  149. ausdruck (vom tintenstrahler) jemanden mal gezeigt und der wollte
  150. mit nicht glauben, das das ding nicht mit einem nadeldrucker gedruckt
  151. worden war...
  152.   
  153.   
  154.                    3. Bedienung und unterstützte Kommandos
  155.                    ---------------------------------------
  156.                    
  157. Zur bedienung läßt sich eigentlich nicht viel sagen - da es sich ja um 
  158. ein Gemview-modul handelt. Wichtig ist nur, daß ESC/P files nicht !!!
  159. identifiziert werden können. daher hat AUTO-flag des moduls ausge-
  160. schaltet zu bleiben ! man kann also ESC/P files nur laden, wenn man
  161. dieses über die funktion 'Load Type...' macht.
  162.  
  163. Dann legt der emulator los.
  164. Grundlage ist dabei immer das eröffnen einer kompletten seite der 
  165. ausmaße 8x12 zoll. Dieses format ist praktikabel, da es die breite und
  166. etwas mehr als die höhe einer DIN A4 seite hat. viele amerikanische
  167. programme (wir erinnern uns: atari XL druckprogramme...) brauchen aber
  168. 12" papier. Daher diese größe.
  169. Da 9-nadler normalerweise eine max. druckdichte von 240x216 DPI haben,
  170. wird für diese seite ca. 660kB benötigt ! Für benutzer von 512k ST's kommt
  171. das modul folglich nicht in frage. Ob der speicher bei 1MB besitzern
  172. reicht, wage ich mal zu bezeifeln... (Gemview haut ja auch ganz schön 
  173. was weg...)
  174. Nun haben die pixel des bildschirms 'leider' kein seitenverhältnis von
  175. 1.111111111111111..... Der emulator umgeht das problem in dem er dieses
  176. ignoriert und einfach das verhältnis 1 benutzt. Folglich sind die 
  177. darstellungen etwas verzerrt. Wer das nicht haben will, kann nach der
  178. interpretation des files ja aber die grafik mit 100% x und 111% y  
  179. skalieren (Gemview macht's möglich). Wer anschließend seinen 600 DPI
  180. drucker anschmeißt und das ding im gleichen verhältnis wie auf dem 
  181. nadler ausgeben will, kommt um die skalierung sowieso nicht drumrum
  182. (wir rechnen: bild hat 240x216 DPI - drucker hat 600 -> skalierung mit
  183. 250 und 278% - fragt sich nur ob der speicher dafür reicht...).
  184.  
  185. Jeder gesetzte punkt im bild entspricht dem abdruck einer drucker-
  186. nadel. Ich schreibe das hier nochmal explizit, da ich sonst befürchte
  187. meldungen von fehlern zu bekommen, die keine sind !
  188. Viele programme oder auch die draft-zeichen des druckers nutzen 
  189. _nicht_ die 240x216 DPI aus. So haben z.B. draftzeichen normalerweise
  190. einen vertikalen punktabstand von 72 DPI. Auf dem bild sieht das 
  191. folglich so aus, daß nur jede dritte zeile einen punkt von einem zeichen 
  192. aufnimmt. Dies ist kein fehler des emulators ! 9-nadler haben nun mal 
  193. so einen großen punktabstand. Ein spezielles Gemview-bearbeitungsmodul
  194. zum anpassen der punkte an die reale auflösung kann aber als feature
  195. 'geordert' werden. nötig kann dieses zum teil werden da die 240x216 
  196. DPI im regelfall nicht von 9-nadlern real erreicht werden. die 
  197. druckerpunkte 'matschen' leicht zusammen und überlagern sich 
  198. teilweise. Dieses verhalten kann selbstverständlich nicht ohne 
  199. weiteres nachgebildet werden. das ist der grund, warum bilder, die mit
  200. dem esc/p emulator erzeugt wurden, auf anderen druckern ausgedruckt, 
  201. meist etwas blasser erscheinen als ein realer 9-nadeldruck (so als 
  202. hätte man ein etwas 'ausgelutschtes' farbband).
  203.  
  204. Soweit die 'druck auf image' theorie. Nun was praktisches:
  205.  
  206. Unterstützte kommandos des ESC/P Emulators V. 1.00:
  207. ====================================================
  208.  
  209. Grafikdruck in allen arten !
  210. Dabei wird (aus techn. gründen) der (selten benutzte) modus mit 576 und 
  211. 720 punkten pro zeile nicht korrekt verarbeitet.
  212.  
  213.  
  214. sämtlich zeilenvor- und rückschub-kommandos bis auf kommandos die mit
  215. - vertikalen tabulatoren oder
  216. - absoluten positionen (z.B. auch blattanfang etc.) arbeiten.
  217.  
  218.  
  219. rechte und linke randbegrenzung
  220.  
  221.  
  222. unterstüzung der draft-schriftarten
  223. PICA (80 zeichen pro zeile) und
  224. ELITE (96 zeichen pro zeile).
  225. im modul sind sie in der deutschen belegung enthalten !
  226. (also statt [\]{|}~  =>  AÖÜaöüß !)
  227. es wird der zeichensatzraum von 32 bis 127 unterstützt.
  228. eine sonderstellung nimmt ASCII 155 ein. dieses wird nicht
  229. als zeichen interpretiert (ist aber auch nicht weiter tragisch -
  230. wer braucht schon das '¢'-zeichen), sondern äquivalent zu LF/CR be-
  231. handelt, da dieses zeichen auf den atari XL's 'end of line' (EOL)
  232. bedeutet.
  233. wichtig ist nur noch, daß ein LF (zeilenvorschub) ausreicht um einen
  234. zeilenvorschub _und_ wagenrücklauf zu erhalten - enthält der text
  235. trotzdem noch einen wagenrücklauf (CR/LF), so wird die funktion nicht
  236. negativ beeinträchtigt.
  237.               
  238.  
  239. verarbeitung von schmalschrift (condensed) und
  240. breitschrift (enlarged)
  241.  
  242. untersteichungen
  243.  
  244.  
  245. alle kommandos können natürlich sinnvoll kombiniert werden !
  246. (wer es nicht weiß: dazu gehört auch breit-schmal-schrift !)
  247. die funktionscodes sind so wie im druckerhandbuch des 'star™ LC-10'
  248. beschrieben umgesetzt.
  249.  
  250. wurde die interpretation der druckdaten beendet (dateiende oder seite
  251. voll), so wird die anzahl der nicht ausgewerteten bytes der datei bis
  252. zum erreichen des seitenendes angezeigt. wem dieser wert zu hoch ist 
  253. -> feature bestellen...
  254.  
  255.  
  256. ---------------------------------------------------------------------------
  257.  
  258. ######### 4. HISTORY ########
  259.  
  260. 1.00 - Erste veröffentliche version - mal sehen was für funktionen 
  261. noch gewünscht werden...
  262.  
  263.  
  264. ---------------------------------------------------------------------------
  265.  
  266.         5. Featureware Wunschliste und Kontaktadresse
  267.                 ---------------------------------------------
  268.                 
  269. Erklärung: * = 10 DM   => *** = 30 DM
  270.  
  271. Funktion:                                                    | Preis:
  272. =======================================================================
  273. Superscript & Subsript                                       | ***
  274. -------------------------------------------------------------+---------
  275. Fettdruck & Schattendruck                                    | **
  276. -------------------------------------------------------------+---------
  277. Zeichensatzänderung (angepasstes Modul) für USA & GB         | **
  278. -------------------------------------------------------------+---------
  279.          "               "         "    für FR & ITAL        | **
  280. -------------------------------------------------------------+---------
  281.          "               "         "    für ESP 1 & 2        | **
  282. -------------------------------------------------------------+---------
  283.          "               "         "    für DEN 1 & 2        | **
  284. -------------------------------------------------------------+---------
  285. Horizontal Tabulatoren und horizontale absolut Positionierung| **
  286. -------------------------------------------------------------+---------
  287. Download von Draftzeichensätzen                              | ***** 
  288. -------------------------------------------------------------+---------
  289. Mehrseitenverwaltung, vertikale Tabulatoren etc.             | *******
  290. -------------------------------------------------------------+---------
  291. Kursivdruck                                                  | ****
  292. -------------------------------------------------------------+---------
  293. korrekte Unterstütz. von 576 und 720 Grafikpunkten pro Zeile | **
  294. -------------------------------------------------------------+---------
  295. Überstreichen                             | **
  296. -------------------------------------------------------------+---------
  297. Bearbeitungsmodul: Punktverdickung und Interpolation         | ***
  298. -------------------------------------------------------------+---------
  299.  
  300. wer weitere/nicht in der liste vorkommende features umgesetzt haben
  301. will (vorausgesetzt sie haben was mit dem modul und seiner aufgabe zu
  302. tun), kein problem - ich öffne horizonte ;-) - reden sie darüber...
  303.  
  304. garantiert umsetzen werde ich _nicht_ NLQ-zeichensätze oder farbdruck
  305. (es sei denn jemand gibt mir jeweils dafür:
  306. ****************************************************************************
  307.  viel spass beim zählen...)
  308.  
  309. scheine oder schecks mit den feature-wünschen gehen an:
  310.  
  311.             Christian Krüger
  312.             Im Erpelgrund 16
  313.             13503 Berlin
  314.  
  315. sonst (bei fragen, bug-reports o.ä.) am besten übers internet kontaktieren:
  316.  
  317.             chrisker@cs.tu-berlin.de
  318.             
  319.             
  320.  
  321. viel freude beim pseudo drucken !
  322.